package com.allwees.core.common.util;

import org.apache.commons.lang3.StringUtils;

import java.math.BigDecimal;
import java.util.Map;

/**
 * @author mouhn
 * @since 2019-10-17
 */
public class MapUtil {

    public static void put(Map<String, Integer> map,String key, Integer value) {
        if (map == null) {
            return;
        }
        if(StringUtils.isBlank(key) || value == null){
            return;
        }
        Integer existedValue = map.get(key);

        existedValue = existedValue == null ? value : existedValue + value;

        map.put(key, existedValue);
    }

    public static BigDecimal getValues(Map<String, BigDecimal> map) {
        return getValues(map, 2);
    }

    public static BigDecimal getValues(Map<String, BigDecimal> map, int scale) {
        BigDecimal value = BigDecimal.ZERO;

        if (map != null && map.isEmpty()) {
            return value;
        }
        for (BigDecimal o : map.values()) {
            value = MoneyUtil.add(value, o);
        }
        return MoneyUtil.setScale(value, scale);
    }
}
